Due to several known phenomena, clocks are subject to “clock drift” where a clock will fail to run at the same rate as a reference clock. Because of this, there is an established need for clock synchronization protocols that synchronize clocks (referred to as herein as “slave clocks”) with a reference clock (referred to herein as a “master clock”). One such protocol is the Precision Time Protocol (“PTP”) which was originally defined in the IEEE 1588-2002 standard and revised in the IEEE 1588-2008 standard.
Synchronization is achieved by running software (referred to as “synchronization protocols”) on network elements with master clocks and network elements with slave clocks. The synchronization protocols function to transmit and receive synchronization data. However, due to advances in network virtualization, there exists a need a de-couple clocks from network elements.